home *** CD-ROM | disk | FTP | other *** search
- ******************************************************************************
- * *
- * *
- * ** ** ** ** ******* ** ** ***** *
- * *** ** *** *** ** * ** ** ** ** *
- * **** ** ******* ** * ** ** ** ** *
- * ** **** ******* **** ** * ** ** ** *
- * ** *** ** * ** ** * ******* ** ** *
- * ** ** ** ** ** *** *** ** ** *
- * ** ** ** ** **** * * ***** *
- * *
- * *
- * A powerful Multi-Robot for Maximus/Squish *
- * *
- * *
- ******************************************************************************
- * *
- * (C) Copyright 1991-1996 Alberto Pasquale *
- * *
- * A L L R I G H T S R E S E R V E D *
- * *
- ******************************************************************************
- * *
- * NmFwd is NOT free-software, it is distributed under the ShareWare *
- * concept ! If you regularly use it, you should register. *
- * See REGISTER.Doc for details on how to register your copy. *
- * *
- ******************************************************************************
- * *
- * How to contact the author: Alberto Pasquale of 2:332/504@fidonet *
- * Viale Verdi 106 *
- * 41100 Modena *
- * Italy *
- * *
- ******************************************************************************
-
-
-
- NetMail Forward ver. 2.03
-
-
-
- LICENSE
-
- See License.doc.
-
-
-
- Main characteristics:
-
- - To be used with Squish mail processor and Maximus 3.xx CBCS
- (Trademarks of Lanius Corporation).
- A BinkleyTerm (TradeMark of Bit Bucket Software) style outbound
- is required for some features.
-
- - Works on *.MSG or SQUISH netmail area.
-
- - Total or partial forward of NetMail area to (Co)SysOp's point.
-
- - Selective Flag (Crash, Direct) Stripping.
-
- - 3D and 4D point handling (even mixed).
-
- - Boss Routing capability to BossRoute all the crash and direct
- messages addressed to points that are not found in your V7
- nodelist or have a null phone number.
-
- - Point Remapping based on To-Name.
-
- - FileAttach forwarding between points in a dedicated directory,
- with optional automatic file-killing after configured time.
-
- - Automatic Upload for Points via NetMail Robot.
-
- - Complete User Management functions via NetMail Robot (Max 3.xx).
-
- - Complete File Management functions via NetMail Robot (Max 3.xx),
- with flexible privilege and keys handling.
-
- - Automatic (internal) filebase update.
-
- - Areafix functions for Squish.Cfg.
-
- - Return To Sender functions to stop messages addressed to
- unlisted nodes and routed echomail (based on V7 nodelist).
-
- - Return Receipt generation for messages that have the RRQ
- flag set or the "*RR*" string in their subject (standard
- proposed by Alex Palmese of 2:335/317).
-
-
- * This program uses the MsgAPI code by Scott J. Dudley.
- * Squish is a trademark of Lanius Corporation.
-
-
-
-
- INSTALLATION
-
-
- 1) OS/2: make sure you have the MSGAPI32.DLL in your libpath.
- It can be found in the Squish distribution archive.
-
- DOS: make sure you have the DOS4GW.EXE dos extender in your
- path. It is included in the archives of major releases of
- NmFwd.
-
- 2) Edit nmfwd.cfg following the comments in it.
-
- 3) Edit your batch file in order to call nmfwd BEFORE netmail
- packing.
-
- Example 1 (two pass):
-
- Squish In Out
- NmFwd
- Squish Squash -sNrm
-
- Example 2 (one pass):
-
- Squish In Out Squash -o -sNrm
- NmFwd
- Squish Squash -sNrm
-
- Note: - The -o switch prevents squish from packing netmail
- before Nmfwd has a chance to process it.
- - You may need additional calls to squish to process
- echomail generated locally.
-
- Example 3 (separate echo and netmail routing, SqPrv local
- echomail processor and Nef tic processor used):
-
- sqrem
- squish in out squash -sECHO -o
- nef
- squnrem
- squish in
- sqprv
- squish out squash -sECHO -o
- nmfwd
- squish squash -sNET
-
-
-
- Command line switches
-
- -c<cfgfile>
- -l<logfile>
-
- Example: NMFWD -cc:\max\nmfwd.cfg -lc:\log\nmfwd.log
-
-
-
- Errorlevels
-
- 0 - All OK.
- 1 - Help requested
- 3 - Abnormal Termination.
- 4 - Cfg Error.
- 9 - Error accessing Maximus PRM file.
- 10 - Error updating/accessing FileBase.
- 128 - Too many new messages (*.MSG).
- The current limit (providing there is enough free memory)
- is of 32768 messages numbered between 1 and 65535.
- 251 - Config file not found.
- 252 - Error on command line.
- 253 - MsgApi error.
- 254 - Can't open Log file.
- 255 - Out of memory.
-
-
- CONFIGURATION FILE
-
-
- NmFwd requires a configuration file (defaults to
- NmFwd.Cfg). Before using NmFwd you should edit this file,
- following the comments in the sample one.
-
- The names of the various parameters are NOT case sensitive.
- Items in square brackets ([]) are optional.
-
-
-
- OVERALL OPERATION
-
-
- To speed up netmail scanning, NmFwd scans only new messages. To
- accomplish this, it uses an advanced algorithm for *.MSG (the
- necessary information is stored in the NMFWDDIR.DAT located in
- the related directory) and the UID (Unique ID) for the Squish
- base (stored in the <netmail>.NFD file).
-
- In the case you change a message after it has been processed
- (Squish base), it will not be rescanned. So, if you want it
- processed, you must copy then change, not simply change the
- message.
-
- All the messages addressed to your points are directly packed
- to *.?ut in the OUTBOUND.SQ by NmFwd. This is necessary to
- allow correct operations of the Netmail Forwarding functions in
- a mixed 3D-4D environment and for the BossRoute option.
-
-
-
- FLAGS HANDLING
-
- If the original message has one of the following flags
- (FileRequest, UpdateRequest), the forwarded one will have a
- two letter upper-case symbol on the first line (FR, UR).
-
- If a Crash message comes from a point authorized to send DM
- only, the Hold attribute is set in order to change the Crash
- flavour to Direct (Squish handles the sum of Crash and Hold
- as Direct). The forwarded copy will have a "cm" lower-case
- symbol on the first line of the message.
-
- If a Crash message comes from a system that is not authorized
- to send neither Crash nor Direct mail, the crash flag will be
- reset and a "cm" symbol will be inserted in forwarded copies.
-
- If a Direct message (Crash and Hold flags set) comes from a
- system that is not authorized, the crash and hold flags will
- be reset and the "dm" symbol will be inserted in forwarded
- copies.
-
-
-
- USER MANAGEMENT COMMANDS
-
-
- You must send a private net-mail message to your robot, using
- the requested password as subject (see the .cfg for details).
- The Syntax of commands (to be put in the text) is:
-
- Username[,Username,Username ...] = Action[,Action, Action ...]
-
- You can list a maximum of 30 Usernames and 30 Actions per
- command. You can use "(<acs>)" as a valid Username
- (where <acs> is a Maximus 3.xx access string).
-
- Examples:
-
- (Extra|Normal/EFP) = list
-
- Requests a list of users that have at least the "Extra"
- privilege or the "Normal" one together with the E,F,P
- keys.
-
-
- (=twit) = Level disgrace
-
- Gives the disgrace privilege to all twit
- users.
-
-
- (0/h) = Level favored
-
- Gives the favored privilege to all users that have the
- h key (except for those that have a privilege above
- MAXLEV).
-
-
- (=disgrace/kj) = Level normal
-
- Gives the normal privilege to all disgrace users that
- have both the k and j keys.
-
-
- All the listed actions will be applied in the listed order
- to all of the listed users. You can write many commands in
- the same message, provided they are separated by a <CR>.
- Every command may be more than 80 chars but it cannot contain
- carriage returns.
-
- In the case you are unsure whether your message editor really
- inserts carriage returns between long command lines, just
- leave a blank line between any two commands.
-
-
- Examples:
-
- Albert MacGiver = Level Normal
- Franz Cormack, Robert Harris = Level Extra, Keys net
-
- The available actions are:
-
- (The MaxLev option in .cfg allows to inhibit the action on
- higher privileges)
-
-
- Level <level> - set the <level> privilege.
- <level> can be any level name
- defined in Maximus Access.Ctl or
- a legal level number.
-
- E.g.
-
- Level Normal
- Level 55
-
- Report - give full report on user record
- "Permanent" records are marked with a '@'
- before the user name.
- "Deleted" records are marked with a '#'
- before the user name.
-
- List - list username with his privilege and
- keys
-
- Kill - Mark the user record as deleted
-
- Avatar - Set Avatar screen mode
-
- Ansi - Set ANSI screen mode
-
- TTY - Set TTY screen mode
-
- City <cityname> - set the user city
-
- Password <password> - set the user password.
- If Maximus is configured to use
- encrypted passwords, the new
- password will be encrypted the
- next time maximus accesses the
- user record.
-
- Phone <userphone> - set the user telephone
-
- Alias <useralias> - set the user alias
-
- Help <helplevel> - set the user help level
- (Expert|Regular|Novice)
-
- CLS <yes|no> - set the "Clear Screen allowed" flag
-
- UsedMax <yes|no> - set the "Not first-time user" flag
-
- IbmChars <yes|no> - set the IBM graphics flag
-
- RIP <yes|no> - set the RIP graphics flag
-
- MaxEd <yes|no> - set the MaxEd full screen editor flag
-
- More <yes|no> - set the More flag
-
- InUserList <yes|no> - set the "Show in UserList" flag
-
- Tabs <yes|no> - set the "Tabs allowed" flag
-
- Nerd <yes|no> - set the Nerd flag (don't sound when
- yelling)
-
- ChatAvail <yes|no> - set the "Available for Chat" flag
-
- HotKeys <yes|no> - set the "Uses HotKeys" flag
-
- FSReading <yes|no> - set the "Full Screen Reading" flag
-
- Perm <yes|no> - set the "User is PERManent" flag
-
- Language <langname> - select the language
-
- Nulls <nnulls> - select the number of nulls
-
- Up <[+|-]upK>
- Down <[+|-]downK> - set the total up/download in KiloBytes,
- optional +|- to add|subtract to|from
- the total.
-
- UpFiles <[+|-]n>
- DownFiles <[+|-]n> - set the total number of files
- up/downloaded, optional +|- to
- add|subtract to|from the total.
-
- Credit <[+|-]n>
- Debit <[+|-]n> - set the user credit/debit (n in 0..65535),
- optional +|- to add|subtract
- to|from the total debit.
-
- CreditPoints <[+|-]n>
- DebitPoints <[+|-]n> - set the user allocated/used points,
- optional +|- to add|subtract
- to|from the total.
-
- Keys [+]<setkeys>[-<resetkeys>] - set/reset the listed keys;
- e.g. Keys abc set keys a, b, c
- Keys -abc reset keys a, b, c
- Keys abc-de set keys a, b, c;
- reset keys d, e.
- Keys +abc-de set keys a, b, c;
- reset keys d, e.
-
- ExpDate <expdate> - set the Expiration date (dd-mm-yy),
- set the "Expire by date" flag and reset
- the "Expire by minutes" flag. If no
- <expdate> is given, reset the "Expire
- by date" flag. Example:
- ExpDate 13-May-92
- ExpDate 13-May-1992
- ExpDate 13-05-1992
- ExpDate 13-05-92 (Expire on May 13th 92)
-
- ExpMins <expmins> - set the Expiration minutes, set the
- "Expire by minutes" flag and reset the
- "Expire by date" flag.
- If no <expmins> is given, reset the
- "Expire by mins" flag.
-
- ExpNone - Reset Expire mode flags (ExpAxe and
- ExpDemote)
-
- ExpDemote <Priv> - set the Expire->Demote flag and Priv
- level to demote to.
-
- ExpAxe - set the Expire->Axe flag
-
- Append - append a new user record: a default one
- will be appended. Obviously this must be
- the first command and can be followed by
- other commands specifying new parameters
- for the user. The default is:
-
- Privilege: 0
- Help: Novice
- Screen mode: TTY
- Language: The first.
- Columns: 80
- Rows: 24
- UsedMax: No
- MaxEd: Yes
- More: No
- HotKeys: No
- IbmChars: No
- RIP: No
- Tabs: No
- CLS: No
- FSReading: No
- All other fields are zeroed.
-
-
-
-
- FILE MANAGEMENT
-
-
- See FMAN.HLP and NMFWD.CFG for details on the FileManagement
- Commands.
-
- OS/2 NOTE:
-
- The Touch command and all the FileManager functions use
- the Maximus 3.xx convention for the file dates on HPFS.
-
- The modification date is shown in reports (just as with
- the OS/2 DIR command), the creation one is used as the
- "upload date" to compute the "age" of files.
-
- Thus the output of a "newfiles 10" command could show
- files with dates much older than 10 days, provided they
- have been uploaded (or touched) during the last 10
- days.
-
-
-
-
- AREAFIX
-
-
- Integrated AREAFIX: works on SQUISH configuration file (No
- Areas.bbs). Works OK with 3D (fakenet) or 4D points.
- To link/unlink areas: Send a netmail message to AreaFix using
- your password as the subject. You can add "-Q", "-L",
- "-R" and "-H" in the subject field, after the password.
-
- -Q: to request a list of available areas.
- -L: to request a sysop-defined message (usually a description
- of some or all areas).
- -R: to request the rescan of the specified areas (SqPrv
- areas are automatically excluded from rescan).
- -H: to get help.
-
- The same goals can be achieved by using some special
- commands in the message body: %Query, %List, %Rescan,
- %Help respectively.
-
- In the body of the message, you must list the TAGS of the
- areas you want to link or rescan (optionally with a leading
- '+'). If you want to unlink an area, preceed the area name
- with a '-' (e.g. -CHATTER). More than one area tag can be
- specified on the same line.
-
- The password and area tags are not case-sensitive.
-
- See Nmfwd.Cfg for more details.
-
-
-
- RETURN TO SENDER
-
-
- Integrated ReturnToSender based on V7 Nodelist, such as the
- one generated by FastLst. RTS checks the originating and
- destination addresses of all new netmail messages.
-
- If the originating address is not found, then a short warning
- for the addressee is inserted in the message text.
-
- If the destination address is not found, then the message is
- stopped (marked as sent) and a short message is sent to the
- sender.
-
- If both the addresses are not found, then the message is
- stopped and a short message is sent to the SysOp.
-
- Note: for points of other systems, the Boss address
- (.0) is checked; for points of the local Boss, the
- entire 4D address is checked, so you need to have your
- points in the V7 nodelist (usually this is not a
- problem since the points must already be in a local
- nodelist in order to have a session password).
-
- Warning: RTS does not check the existence of a point
- when applying the "name remapping" configured with the
- "Remap" statement in NmFwd.Cfg or Squish.Cfg.
-
- An optional check on Routed Echomail is available: if an
- echomail message not addressed to your node is found in the
- netmail area, than it is stopped (marked as sent) and the
- sysop of the originating node is alerted.
-
-
-
-
- RETURN RECEIPT REQUEST
-
-
- You can enable the generation of Return Receipts for netmail
- messages addressed to your system or your points that come in
- with the Return-Receipt-Request flag set or with the "*RR*"
- (case sensitive) string in their subject.
-
- When RRQ is active in the configuration file, if a netmail
- message requests a return receipt, a short receipt is sent to
- the sender, the RRQ flag is stripped from the original
- message, the "*RR*" string is deleted from the subject if
- present, an informative line is added at the head of the
- message body to inform the addressee that a return receipt
- was sent.
-
- If the sender is unlisted and "RTS" is active, than no action
- is taken on messages with RRQ.
-
- The "*RR*" string in the subject is an easy way to ask for
- Return-Receipt when the RRQ flag cannot easily be set by the
- message editor or is stripped by some mail processor.
-
-
-
- MISCELLANEOUS INFO
-
-
- When UseFB is active, the NewFiles, Dir * and Cont * commands
- of the file-manager use the file-base files instead of looking
- into FILES.BBS and directories.
-
- On fast machines, after generating lots of outbound packets,
- NmFwd will automatically pause for a few seconds reporting
- "Waiting <nn> seconds". This is necessary to avoid routing
- mistaked when Squish is invoked just after NmFwd. The same
- thing happens before Nmfwd invokes Squish for rescanning an
- area in response to a areafix rescan request.
-
- NmFwd recognizes SqPrv areas (SqPrv is another program
- of mine) and does NOT allow rescanning.
-
-
-
-
-